home *** CD-ROM | disk | FTP | other *** search
- Path: brahms.udel.edu!not-for-mail
- From: yuehong@brahms.udel.edu (Yue-hong Zheng)
- Newsgroups: comp.lang.c
- Subject: help:what is wrong with this code?
- Date: 14 Apr 1996 16:15:58 -0400
- Organization: University of Delaware
- Message-ID: <4krmdu$t3h@brahms.udel.edu>
- NNTP-Posting-Host: brahms.udel.edu
-
- #include <stdio.h>
-
- void quicksort(int[],int,int );
-
- void swap(int*,int*);
-
- main () {
- int k;
- int a[]={1,3,4,2,43,23,5,6,87,92,21};
- quicksort(a,0,10);
- for (k=0;k<=10;k++) {
- printf("%d\n",a[k]);
- }
- return 0;
- }
-
-
- void swap( int* s,int* t) {
- int tmp;
- tmp=*s;
- *s=*t;
- *t=tmp;
- }
-
- void quicksort(int array[],int left,int right) {
- int i,j,median;
- if (right<=left) return ;
- median=(right+left)/2;
- swap(&array[median],&array[right]);
- i=left;
- j=right-1;
- while((j-i)>=-1){
- while((array[i]<array[right])&&(i<=(right-1)))
- i++;
- while((array[j]>array[right])&&(j>=0))
- j--;
- swap(&array[i],&array[j]);
- }
- swap(&array[i],&array[right]);
- quicksort(array,left,(i-1));
- quicksort(array,(i+1),right);
- }
-